package com.ruoyi.zhjd.collect.modules.product.controller;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.zhjd.collect.modules.product.dto.CollectProductDto;
import com.ruoyi.zhjd.collect.modules.product.dto.StatisticsProductDto;
import com.ruoyi.zhjd.collect.modules.product.service.LCollectProductService;
import com.ruoyi.zhjd.collect.modules.product.xm.TaskVehicleModel;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.List;
import java.util.Map;

/**
 * 派车信息
 */
@RestController
@RequestMapping("/collect/product")
public class LCollectProductController {

    @Autowired
    private LCollectProductService LCollectProductService;

    /**
     * 分页
     *
     * @param params 查询条件
     * @return Result 分页列表
     */
    @GetMapping("page")
    public R<IPage<CollectProductDto>> page(@RequestParam Map<String, Object> params) {
        IPage<CollectProductDto> page = LCollectProductService.page(params);
        return R.ok(page);
    }

    /**
     * 分页
     *
     * @param params 查询条件
     * @return Result 分页列表
     */
    @GetMapping("list")
    public R<List<CollectProductDto>> list(@RequestParam Map<String, Object> params) {
        List<CollectProductDto> page = LCollectProductService.getDataList(params);
        return R.ok(page);
    }

    /**
     * 保存采集数据
     */
    @PostMapping("saveCollectProductData")
    public R<Integer> saveCollectData(@RequestBody CollectProductDto dto) {
        LCollectProductService.saveCollectData(dto);
        return R.ok(dto.getId());
    }

    /**
     * 生产数据统计
     *
     * @param params 查询条件
     */
    @GetMapping("statisticsProduct")
    public R<IPage<StatisticsProductDto>> statisticsProduct(@RequestParam Map<String, Object> params) {
        IPage<StatisticsProductDto> page = LCollectProductService.statisticsProduct(params);
        return R.ok(page);
    }

    /**
     * 保存欣盟混凝土拌和站数据
     */
    @PostMapping("saveXmCollectData")
    public R<Long> saveXmCollectData(@RequestBody TaskVehicleModel taskVehicle) {
        LCollectProductService.saveXmCollectData(taskVehicle);
        return R.ok(taskVehicle.getId());
    }

}
